package cn.bookcycle.requestroom.util;

/**
 * 搜索工具类
 *
 * @author liufenglin
 * @date 2018年3月26日
 */
public class SearchUtil {
	/**
	 * 二分查找当前时间的前一个时间的索引
	 * 
	 * @param recordStart 起始时间构成的字符串组
	 * @param now 当前时间字符串
	 * @return 如果当前时间没有前一个时间，返回-1
	 */
	public static int binarySearchPreNowIndex(String recordStart [], String now) {
		int mid = 0;
		int low = 0;
		int high = recordStart.length - 1;
		while (low <= high) {
			mid = (low + high) / 2;
			if (now.equals(recordStart[mid])) {
				return mid;
			} else if (TimeUtil.compareDate(recordStart[mid], now)) {
				high = mid - 1;
			} else {
				low = mid + 1;
			}
		}
		
		int index = (mid + high) / 2;
		
		if (TimeUtil.compareDate(recordStart[index], now)) {
			index -= 1;
		} else {}
		
		return index;
	}
}
